﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace BDSim
{
    public  class SatClkErrFitDLL
    {
        /////////////////////////////////////////////////////////
        //函数名称：SatClkErrFit
        //函数功能：单个卫星钟差系数拟合
        //输入：
        //    (1)FitTime:拟合时间
        //    (2)tim：     钟差数据中的每个值相对于第一个钟差数据的时间差数组(s)
        //    (3）obsErr：  钟差数据(s)
        //    (4) Fitnum：  钟差数据的点数（有多少个点的钟差数据）
        //输出：
        //     ClkErrParam：    钟差参数拟合出的系数(Nav_ClkErr(钟差数据的起始时刻对应的钟差参数(FitTime、a0、a1、a2)))。
        //返回值：
        //     (1) 0 循环迭代次数太多，不能正常拟合
        //     (1) 1 运行正常
        /////////////////////////////////////////////////////////
        [DllImport("ClkErrFitDLL.dll", EntryPoint = "SatClkErrFit", CallingConvention = CallingConvention.Cdecl)]
        public static extern int SatClkErrFit(UTCTime FitTime,double[] tim, double[] obsErr, int Fitnum, out ClkErrFitMsg ClkErrParam);
    }
}
